草庐IT

VOC 2012

全部标签

c++ - Visual C++(2012 - 2015)代码指标

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭7年前。Improvethisquestion是否有任何工具可以为VisualC++2012/2013或2015生成代码指标(例如圈复杂度、代码行数、注释与代码比率等)?我们需要能够运行命令行工具来生成这些指标(并将它们输出到某种文件),以便我们可以根据我们的持续集成流程自动运行分析。请注意,我们不需要完整的静态分析工具,因为我们已经在使用(并且很高兴)内置于VisualC++中的静态代码分析工具(但是这不包括复

c++ - 是否可以在 Visual Studio 2012 中配置性能 session 文件 (VSP) 的位置?

在某些情况下,VisualStudio2012的探查器生成的文件非常大。这些文件的扩展名为“.vsp”这些文件是在我使用VisualStudio2012Professional中“分析”菜单下的“启动性能向导”启动探查器后生成的。VisualStudio正在与解决方案(.sln)文件相同的目录中创建用于分析的VSP文件。我的项目存储在一个有点小(只有100GB)的SSD磁盘上,VisualStudio会迅速填满它们。我有一个更大(2TB)的旋转磁盘,我希望VisualStudio将其用于探查器。没有将整个解决方案移动到更大、更慢的数据驱动器...是否可以在VisualStudio201

c++ - 从 VS2012 在 C++ 中使用 ATL 创建 COM

尝试在VisualStudio2012中使用ATL创建简单的COM库。我这样做:NewATLProjectWelcometotheATLProjectWizardNextApplicationSettings-nochange(DLL)NextFinish得到了很多文件:试图了解在何处添加可由COM用户调用的简单函数。我发现只有一个地方可以使用向导添加功能:但我发现在参数选择方面缺少一些东西,比如in、out、retval。我希望在添加新功能后至少IDL文件也会更新,但这并没有发生。从VS2012的VisualC++使用ATL创建简单的COM类的方法是什么?

c++ - Visual Studio 在转换为 2013 的项目上使用较旧的 2012 编译器

我从VS2012继承了一个(小型)构建系统,我们的团队希望将其带到VS2013。我已经在解决方案上运行向导以“转换”到2013,这已经尽职地将各种.vcxproj文件中的VisualStudioVersion和ProjectToolsVersion更改为“12.0”,并在这里和那里添加了一些额外的字段,没有报告任何错误或警告。但是,IDE仍将这些项目显示为2012:Solution'foo'Bar(VisualStudio2012)IDE仍然允许我“升级”这些项目。我确实注意到转换过程也没有触及任何.props文件,我已经完成并手动更新了它们,但它似乎仍然没有使用最新版本的编译器并且I

c++ - 从 VS2010 切换到 2012 或更高版本后 MFC 对话框边框填充发生变化

在VS2015中重建一个MFC应用程序后,Windows设置的borderpadding从添加到对话框框的外部改为添加到对话框框的内部。由于更改而不是粗边框使对话框变大,因此对话框大小保持不变并且可用于控件的空间量减少。边框填充的默认值在不同版本的Windows之间发生了变化。当Vista出现时,它从一个较小的值(0?)变为4像素,以使玻璃更加引人注目,并且似乎一直保持到8.x,只是在Win10中回落到0。(注意,我工作时没有任何8/10机器可用,因此我要离开Google。)这意味着控件的空间量在不同的Windows版本之间是不同的。因此,似乎不可能有在所有版本的操作系统上看起来都不错

c++ - 从 Visual Studio 2012 编译到 g++?

我有一个在VisualStudio2012中编译的c++程序。它包含boost库。现在,我想使用g++编译器对其进行编译。我必须注意哪些事项?最有可能在随机位置悄悄破坏我的代码的事情。例如,我一直假设long是4个字节,而g++将其视为8个字节。仅此一项,我就需要进行一些更改。要使用什么版本的gcc,4.7.3、4.6.4或4.8.2? 最佳答案 如果您在不使用特定库的情况下编写了有效且良好的C++代码,您应该什么都不知道。 关于c++-从VisualStudio2012编译到g++?,

c++ - 在哪里可以找到 'winmm.lib'(我使用的是 Visual Studio 2012)

我的操作系统是64位Windows7。我想在中构建DirectX示例C:\ProgramFiles(x86)\MicrosoftDirectXSDK(2010年6月)\Samples\C++\Direct3D10\Tutorials\Tutorial02。但是当我构建错误时发生fatalerrorLNK1104:'winmm.lib'can'topenthefile.我重新安装了DirectSDK,但没有任何变化。我还在设置中添加了路径(include,lib)。如果我从项目设置中删除“winmm.lib”,则无法打开“comctl32.lib”。两个库都已存在于属性>链接器>输入中。

c++ - 从 VS 2012 中的 lambda 返回值构造 std::function 时崩溃

此C++代码使用VS2012成功编译但在运行时崩溃:#include#includevoidf(){std::coutfilter(get_f());//crashhere!!!return0;}如果我们将get_f更改为:autoget_f=[](){returnf;};然后程序运行没有崩溃。是这段代码的问题还是编译器/标准库的bug?我没有使用较新版本的VisualStudio进行测试。 最佳答案 在我看来,这像是标准库(或可能是编译器)的问题。使用VS2013,它可以毫无问题地编译和运行。如果我们添加代码来调用同样运行的fil

c++ - 如何在没有项目的情况下在 Visual Studio 2012 中只编译一个文件(C++)?

我有很多文件-C++示例代码。我打开每个文件,我必须将代码从示例文件复制到某个项目中的main.cpp文件。VisualStudio可以在没有项目的情况下编译一个打开的.cpp文件吗? 最佳答案 在这种情况下,从命令行编译可能是最简单的。启动命令提示符窗口并运行批处理文件以适本地设置环境变量(%PATH%等)。在我的电脑上这是"C:\ProgramFiles\MicrosoftVisualStudio9.0\vc\vcvarsall.bat"然后将foo.cpp编译成foo.exe,就用cl/EHscfoo.cpp

从 DllMain() 锁定时,Visual Studio 2012 中的 C++11 std::mutex 死锁

当从DllMain()锁定互斥量时,我看到std::mutex出现死锁下面是一个最小的DLL测试用例,它为我展示了这个问题。我的实际代码执行互斥锁定,因为它使用的成员函数在正常函数期间也可在初始化之外使用。我认为问题是main()线程的调用堆栈中所见的调度程序与调度程序生成的另一个线程(可能)之间存在死锁。死锁似乎发生在main()实际执行之前。如果有任何关于如何修复/解决死锁的建议,我将不胜感激。简单的动态链接库:staticvoidtestFunc(){std::mutexmtx;mtx.lock();mtx.unlock();}BOOLAPIENTRYDllMain(HMODUL